/*******************************************
 *                                         *
 *******************************************/

#ifndef TETRIS_H
#define TETRIS_H

//Include Needed Libraries
#include "..\DirectXFramework.h"
#include "MainMenu.h"
#include "GameBoard.h"
#include "GameStates.h"

//Using DirectX Framework
using namespace DirectXFramework;
using namespace DirectXFramework::Graphics;
using namespace DirectXFramework::Input;

//Tetris Class Declaration
class Tetris : public Game
{
	public:
		//Constructor
		Tetris (void);
		//Destructor
		~Tetris (void);

		//Public Methods
		BOOL Init (HINSTANCE Instance, LPCWSTR WindowTitle, UINT Width, UINT Height, BOOL FullScreen);
		BOOL Update (void);

	private:
		//Private Methods
		BOOL LogicMainMenu (void);
		void RenderMainMenu (void);
		BOOL LogicInGame (void);
		void RenderInGame (void);

		//Private Members
		GameState CurrentGameState;
		MainMenu* GameMainMenu;
		GameBoard* MainGameBoard;
		Timer GameTimer;

		//Test Stuff
		LPTEXT FPS;
};

#endif